if either operand is floating-point numberthe other is converted to float otherwiseboth numbers must be integers and no conversion is performed for user-defined objectsthe behavior of expressions involving mixed operands depends on the implementation of the object as general rulethe interpreter does not try to perform any kind of implicit type conversion operations on sequences the following operators can be applied to sequence typesincluding stringslistsand tuplesoperation description nn , vn [is[ :js[ : :stridex in sx not in for in sall(sany(slen(smin(smax(ssum( [initial]concatenation makes copies of swhere is an integer variable unpacking indexing slicing extended slicing membership iteration returns true if all items in are true returns true if any item in is true length minimum item in maximum item in sum of items with an optional initial value the operator concatenates two sequences of the same type the operator makes copies of sequence howeverthese are shallow copies that replicate elements by reference only for exampleconsider the following codea [ , , [ac * [[ ][ ][ ][ ] [ - [[- ][- ][- ][- ]notice how the change to modified every element of the list in this casea reference to the list was placed in the list when was replicatedfour additional references to were created finallywhen was modifiedthis change was propagated to all the other "copiesof this behavior of sequence multiplication is often unexpected and not the intent of the programmer one way to work around the problem is to manually construct the replicated sequence by duplicating the contents of here' an examplea [list(afor in range( )list(makes copy of list the copy module in the standard library can also be used to make copies of objects lib fl ff