(and a check on the length or zip_longest to ensure that there is no other items)
Le sam. 2 mai 2020 à 18:53, Antoine Rozo <antoine.r...@gmail.com> a écrit : > > And if you can't / don't want to create new lists for the values you > want to compare, a solution could be to use zip & all builtins: > > print(all(a == b for a, b in zip(tuple_, list_))) > > Le sam. 2 mai 2020 à 16:58, Steele Farnsworth <swfarnswo...@gmail.com> a > écrit : > > > > You can get the desired behavior by casting a list to a tuple, or a tuple > > to a list, in the equality statement. That way those that rely on the > > existing implementation don't have to change their code. > > > > my_tup = (1, 2, 3) > > my_list = [1, 2, 3] > > print(list(my_tup) == my_list) > > > > On Sat, May 2, 2020, 9:04 AM Ahmed Amr <ahmedam...@gmail.com> wrote: > >> > >> I'd like to take your opinion on modifying some of the indexed collections > >> like tuples, lists, arrays to evaluate its equality to True when having > >> the same items in the same indexes. > >> Currently, when comparing a list of items to an array of the same items > >> for equality (==) it returns False, I'm thinking that it would make sense > >> to return True in that context, as we're comparing item values and we have > >> the same way of indexing both collections, so we can compare item values. > >> > >> So what do you think about applying such behavior on collections that can > >> be indexed the same way such as tuples, lists, and arrays? > >> > >> Example: (Current) > >> > >> import array > >> tuple_ = (1.1, 2.2, 3.3) > >> list_ = [1.1, 2.2, 3.3] > >> array_ = array.array('f', [1.1, 2.2, 3.3]) > >> > >> # all of the following prints False. > >> print(tuple_ == list_) > >> print(tuple_ == array_) > >> print(array_ == list_) > >> > >> Example: (Proposed): > >> All prints above to show True as they are populated with the same data in > >> the same indexes. > >> > >> A Side Note: > >> An extra point to discuss, based on arrays implementation, > >> array_.to_list() would actually get [1.100000023841858, 2.200000047683716, > >> 3.299999952316284] which is not exactly what we've passed as args and this > >> is normal, but I'm thinking about leaving it to the array implementation > >> to encapsulate that implementation and perform exact equality based on > >> passed arguments. > >> _______________________________________________ > >> Python-ideas mailing list -- python-ideas@python.org > >> To unsubscribe send an email to python-ideas-le...@python.org > >> https://mail.python.org/mailman3/lists/python-ideas.python.org/ > >> Message archived at > >> https://mail.python.org/archives/list/python-ideas@python.org/message/UE5HGECRTS3ERK5OMG3GB77EKSAFJV7R/ > >> Code of Conduct: http://python.org/psf/codeofconduct/ > > > > _______________________________________________ > > Python-ideas mailing list -- python-ideas@python.org > > To unsubscribe send an email to python-ideas-le...@python.org > > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > > Message archived at > > https://mail.python.org/archives/list/python-ideas@python.org/message/NPEIUL3A7JYPFTDLVLOOENT5UXFYJKUT/ > > Code of Conduct: http://python.org/psf/codeofconduct/ > > > > -- > Antoine Rozo -- Antoine Rozo _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/HSJP5SF6HVVGOHSYROQDGV6HNSYWK7TR/ Code of Conduct: http://python.org/psf/codeofconduct/